/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.autosalon.ui.doplnek.action;

import com.autosalon.DAO.DaoFactory;
import com.autosalon.ui.doplnek.Doplnek;
import com.autosalon.ui.doplnek.state.DoplnekStateHolder;
import com.vaadin.ui.Button.ClickEvent;

/**
 * Trida pro ulozeni upraveneho doplnku do databaze
 * @author Petr Kriegisch
 */
public class UpdateDoplneklAction extends AbstractDoplneklAction {

    com.autosalon.model.Doplnek dopl;

    public UpdateDoplneklAction(Doplnek doplnek) {
        super(doplnek);
    }

    @Override
    public void buttonClick(ClickEvent event) {
        try {
            Object o = event.getButton().getData().toString();
            dopl = (com.autosalon.model.Doplnek) (DaoFactory.getinstance().getDoplnek().getById(Long.parseLong(o.toString())));

            dopl.setPopis_doplnku(doplnek.getTfNazevDoplnku().getValue().toString());
            dopl.setCena(Integer.parseInt(doplnek.getTfCenaDoplnku().getValue().toString()));

            DaoFactory.getinstance().getDoplnek().update(dopl);

            doplnek.getWindow().showNotification("Update probehl uspesne");
            int id;
            try {
                id = doplnek.getSwitcher().getMainWindow().getZakaznik().getRole().getId().intValue();
            } catch (NullPointerException e) {
                id = 1;
            }
            doplnek.getTfNazevDoplnku().setValue("");
            doplnek.getTfCenaDoplnku().setValue("");
            doplnek.naplnTabulkuObjednavky();
            DoplnekStateHolder.setState(DoplnekStateHolder.VIEW_DOPLNEK_STATE, id, doplnek);
        } catch (NumberFormatException e) {
            doplnek.getWindow().showNotification("Vlozene udaje jsou chybne");
        }
    }
}
